package com.zimmur.app.mocolink.service;

import java.util.List;

import com.zimmur.app.mocolink.domain.model.GoodsType;
import com.zimmur.app.mocolink.domain.vo.GoodsCategoryVo;
import com.zimmur.app.mocolink.domain.vo.GoodsTypeVo;

public interface IGoodsCategoryService {
	/**
	* <p>Title: selectById</p>
	* <p>Description: 查询使用的品类信息</p>
	* @param goodsId
	* @return
	 */
	List<GoodsCategoryVo> queryEntireCategory();
	/**
	 * 查询两级分类
	 *@Description
	 *@param grade  
	 *@param parentId （可空）
	 *@return 
	 *@author zcx
	 *@Time 2017年10月17日 上午11:10:37
	 */
	List<GoodsTypeVo> selectByGradeWithChild(Integer grade,Integer parentId);
	/**
	 * 主键查询类型
	 *@Description
	 *@param typeId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月20日 下午5:49:28
	 */
	GoodsType selectById(Integer typeId);
	/**
	 * 更新
	 *@Description
	 *@param goodsType
	 *@return 
	 *@author zcx
	 *@Time 2017年10月20日 下午5:50:30
	 */
	int update(GoodsType goodsType);
	/**
	 * 添加类型
	 *@Description
	 *@param goodsType
	 *@return 
	 *@author zcx
	 *@Time 2017年10月20日 下午5:50:44
	 */
	int add(GoodsType goodsType);
	/**
	 * 删除类型
	 *@Description
	 *@param typeId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月20日 下午8:44:56
	 */
	int delete(Integer typeId);
	/**
	 * 查询所有类型
	 *@Description
	 *@return 
	 *@author zcx
	 *@Time 2017年10月20日 下午9:10:51
	 */
	List<GoodsTypeVo> selectAll();
	/**
	 * 查询所有使用的类型
	 *@Description
	 *@return 
	 *@author zcx
	 *@Time 2017年10月20日 下午9:11:05
	 */
	List<GoodsTypeVo> selectUsed();
	/**
	 * 更新类型状态
	 *@Description
	 *@param typeId
	 *@return  -1 无子分类不能启用
	 *@author zcx
	 *@Time 2017年10月23日 上午10:46:32
	 */
	int updateStatus(Integer typeId);
}
